home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 May: Tool Chest / Developer CD Series Tool Chest (Apple Computer)(May 1999).iso / Tool Chest / Development Kits / MPW etc / MPW-GM / Interfaces&Libraries / Interfaces / CIncludes / float.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-01-17  |  2.0 KB  |  85 lines  |  [TEXT/MPS ]

  1. /************************************************************
  2.  
  3.     Float.h
  4.     Characteristics of floating-point types
  5.     
  6.     Copyright Apple Computer,Inc.  1987-1990, 1993-1995
  7.     All rights reserved
  8.  
  9. ************************************************************/
  10.  
  11.  
  12. #ifndef __FLOAT__
  13. #define __FLOAT__
  14.  
  15.  
  16. #define    DBL_DIG                15
  17. #define    DBL_MANT_DIG        53
  18. #define    DBL_MAX_10_EXP        308
  19. #define    DBL_MAX_EXP            1024
  20. #define    DBL_MIN_10_EXP        (-307)
  21. #define    DBL_MIN_EXP            (-1021)
  22.  
  23. #define    FLT_DIG                7
  24. #define    FLT_MANT_DIG        24
  25. #define    FLT_MAX_10_EXP        38
  26. #define    FLT_MAX_EXP            128
  27. #define    FLT_MIN_10_EXP        (-37)
  28. #define    FLT_MIN_EXP            (-125)
  29.  
  30. #define    FLT_RADIX            2
  31. #define    FLT_ROUNDS            1
  32.  
  33. #ifdef powerc
  34.     #define    LDBL_DIG            15
  35.     #define    LDBL_MANT_DIG        53
  36.     #define    LDBL_MAX_10_EXP        308
  37.     #define    LDBL_MAX_EXP        1024
  38.     #define    LDBL_MIN_10_EXP        (-307)
  39.     #define    LDBL_MIN_EXP        (-1021)
  40. #else
  41.     #define    LDBL_DIG            19
  42.     #define    LDBL_MANT_DIG        64
  43.     #define    LDBL_MAX_10_EXP        4932
  44.     #define    LDBL_MAX_EXP        16384
  45.     #define    LDBL_MIN_10_EXP        (-4931)
  46.     #define    LDBL_MIN_EXP        (-16382)
  47. #endif
  48.  
  49. #define    DBL_EPSILON            (*(double *)_DBL_EPSILON)
  50. #define DBL_MAX                (*(double *)_DBL_MAX)
  51. #define DBL_MIN                (*(double *)_DBL_MIN)
  52. #define    FLT_EPSILON            (*(float *)_FLT_EPSILON)
  53. #define FLT_MAX                (*(float *)_FLT_MAX)
  54. #define FLT_MIN                (*(float *)_FLT_MIN)
  55.  
  56. #if defined(mc68881) || defined(powerc)
  57.     #define    LDBL_EPSILON        (*(long double *)_LDBL_EPSILON)
  58.     #define LDBL_MAX            (*(long double *)_LDBL_MAX)
  59.     #define LDBL_MIN            (*(long double *)_LDBL_MIN)
  60. #else
  61.     #define    LDBL_EPSILON        (*(long double *)(_LDBL_EPSILON+1))
  62.     #define LDBL_MAX            (*(long double *)(_LDBL_MAX+1))
  63.     #define LDBL_MIN            (*(long double *)(_LDBL_MIN+1))
  64. #endif
  65.  
  66. #if defined (__powerc) || defined (powerc) || defined (__CFM68K__)
  67.     #pragma import on
  68. #endif
  69.  
  70. extern int _DBL_EPSILON[];
  71. extern int _DBL_MAX[];
  72. extern int _DBL_MIN[];
  73. extern int _FLT_EPSILON[];
  74. extern int _FLT_MAX[];
  75. extern int _FLT_MIN[];
  76. extern short _LDBL_EPSILON[];
  77. extern short _LDBL_MAX[];
  78. extern short _LDBL_MIN[];
  79.  
  80. #if defined (__powerc) || defined (powerc) || defined (__CFM68K__)
  81.     #pragma import off
  82. #endif
  83.  
  84. #endif
  85.